package com.hsjk.szwj.module.smedia.service.production;

import com.hsjk.szwj.module.smedia.controller.admin.production.vo.AddEditingProjectMaterialsReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.AddEditingProjectMaterialsRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.CreateEditingProjectReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.CreateEditingProjectRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.DeleteEditingProjectMaterialsReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.DeleteEditingProjectMaterialsRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.DeleteEditingProjectsRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.EditingProjectMaterialsRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.GetEditingProjectReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.GetEditingProjectRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.SearchEditingProjectReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.SearchEditingProjectRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.SubmitMediaProducingJobReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.SubmitMediaProducingJobRespVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.UpdateEditingProjectReqVO;
import com.hsjk.szwj.module.smedia.controller.admin.production.vo.UpdateEditingProjectRespVO;

/**
 * @desc 云剪辑相关接口
 * @Date 2023/07/06 09:24
 **/
public interface ICloudEdit {
    /**
     * 获取剪辑工程关联素材
     *
     * @param projectId
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.EditingProjectMaterialsRespVO
     * @author chenjiawei
     * @date 2023/7/6 9:40 上午
     **/
    EditingProjectMaterialsRespVO getEditingProjectMaterials(String projectId);

    /**
     * 创建云剪辑工程
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.CreateEditingProjectRespVO
     * @author chenjiawei
     * @date 2023/7/6 9:51 上午
     **/
    CreateEditingProjectRespVO createEditingProject(CreateEditingProjectReqVO reqVO);

    /**
     * 新增剪辑工程关联素材
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.AddEditingProjectMaterialsRespVO
     * @author chenjiawei
     * @date 2023/7/6 11:20 上午
     **/
    AddEditingProjectMaterialsRespVO addEditingProjectMaterials(AddEditingProjectMaterialsReqVO reqVO);

    /**
     * 删除剪辑工程管理素材
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.DeleteEditingProjectMaterialsRespVO
     * @author chenjiawei
     * @date 2023/7/6 11:28 上午
     **/
    DeleteEditingProjectMaterialsRespVO deleteEditingProjectMaterials(DeleteEditingProjectMaterialsReqVO reqVO);

    /**
     * 获取单个云剪辑工程信息
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.GetEditingProjectRespVO
     * @author chenjiawei
     * @date 2023/7/6 11:38 上午
     **/
    GetEditingProjectRespVO getEditingProject(GetEditingProjectReqVO reqVO);

    /**
     * 修改云剪辑工程
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.UpdateEditingProjectRespVO
     * @author chenjiawei
     * @date 2023/7/6 1:50 下午
     **/
    UpdateEditingProjectRespVO updateEditingProject(UpdateEditingProjectReqVO reqVO);

    /**
     * 提交剪辑合成作业
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.SubmitMediaProducingJobRespVO
     * @author chenjiawei
     * @date 2023/7/6 4:45 下午
     **/
    SubmitMediaProducingJobRespVO submitMediaProducingJob(SubmitMediaProducingJobReqVO reqVO);

    /**
     * 搜索云剪辑工程
     *
     * @param reqVO
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.SearchEditingProjectRespVO
     * @author chenjiawei
     * @date 2023/7/14 2:18 下午
     **/
    SearchEditingProjectRespVO searchEditingProject(SearchEditingProjectReqVO reqVO);

    /**
     * 删除云剪辑工程
     *
     * @param projectIds
     * @return com.hsjk.szwj.module.smedia.controller.admin.production.vo.DeleteEditingProjectsRespVO
     * @author chenjiawei
     * @date 2023/7/14 3:05 下午
     **/
    DeleteEditingProjectsRespVO deleteEditingProjects(String projectIds);
}
